﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LeMigue.TeamPortal.Base.View;
using LeMigue.Scrum.Iterface.Model;
using LeMigue.Scrum.Iterface.Enum;
using LeMigue.Scrum.Iterface.Service;


namespace LeMigue.TeamPortal.Base.Biz.Interface
{
    public interface ITaskBiz
    {
        TaskView Load(int? id);

        Task Save(Task task);

        IList<TaskView> List(IList<Task> tasks, TaskState? state);

        IList<TaskView> List(Sprint sprint, TaskState? state);

        IList<TaskView> List(Bug bug, TaskState? state);

        IList<TaskView> List(ItemBacklog backlog, TaskState? state);

        IList<TaskView> List(IHasTask item, TaskState? state);

        //TODO: usar somente a iteracao, ou o team... avaliar melhor
        TaskView New(int? idParent);

        Task Create(Task task, Iteration iteracao, Team team);
        
        
    }
}
